//给axios配置一个默认的公共的url
axios.defaults.baseURL='http://localhost:8080'
//给VUE配置$http属性
Vue.prototype.$http=axios


/*
    前置拦截器：在发起请求之前 获取本地浏览器的存储的token  携带到请求里面

    1.获取token localStorage

 */
axios.interceptors.request.use(
    config => {
        //获取token
        let token = localStorage.getItem("TOKEN");
        if (token){
            //在请求里面携带token
           // console.debug(config)//  config 对象里面包含所有 请求信息
            // 1.往发送的数据 data里面添加[不推荐]
           // config.data.token=token
            // 2.添加一个请求头，后台拦截器从请求头获取数据
            //config.headers.U-TOKEN=token;
            config.headers["U-TOKEN"]=token;
            console.debug(config)
        }
        return config;
    },
    err => {
        return Promise.reject(err);
    });
//前端的后置拦截器
// http response 拦截器   后台响应数据  先进过后置拦截器  再响应到前端 js里面
axios.interceptors.response.use(
    response => {
        let {success,message}=response.data;
        //如果返回的数据是 {"success":false,"message":"noAuth"}
        if (!success&& message==="noAuth"){
            location.href="/login.html";
        }
        return response;
    },
    error => {
        return Promise.reject(error.response.data)   // 返回接口返回的错误信息
    });

function getRequestUrl() {
    var url = location.search; //获取url中"?"符后的字串
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for(var i = 0; i < strs.length; i ++) {
            theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
        }
    }
    return theRequest;
}

